import Vue from 'vue'
import App from './App.vue'
import router from './router'
import store from './store'

Vue.config.productionTip = false;

import request from '@/utils/request'
Vue.prototype.$http = request;



//  引入vant 
import '@/components/vant';



//  实例的数据叫根数据  也可以理解为是全局数据  
// $root.XX   

//  在这做个操作   把数据从本地存储拿出来  
// 给这几个数据赋值

let token = localStorage.getItem('xl-token')
let tokenExpired = localStorage.getItem('xl-tokenExpired')
let uid = localStorage.getItem('xl-uid')
// let userInfo = localStorage.getItem('xl-userInfo');

// 做一个操作  判断toen是否过期 

let now = new Date().getTime();

// 如果本地存储没token   或者没token过期时间  或者token过期了  都会触发清除的操作  
//  需要登录
if (!token||!tokenExpired|| (tokenExpired&&now > tokenExpired)) {
  //  当前的时间 大于了过期的时间  
  token = '';
  uid = ''

  localStorage.removeItem("xl-token");
  localStorage.removeItem("xl-tokenExpired");
  localStorage.removeItem("xl-uid");

  localStorage.removeItem("xl-userInfo"); //  昵称 头像这些放在这


  new Vue({
    data: {
      userInfo: {},
      token,
      uid,
    },
    router,
    store,
    render: h => h(App)
  }).$mount('#app')


} else {

  // 如果有token   没过期   
  //  从服务器去拿一次新的userInfo  因为可能在别的地方修改数据了   最好拿最新的


  //  免登录
  request.post('/apis/user/kh/getMyUserInfo', {
    uni_id_token: token
  }).then(res => {

    console.log(res)
    // app.$root.userInfo = res.userInfo

    new Vue({
      data: {
        userInfo: res.userInfo,
        token,
        uid,
      },
      router,
      store,
      render: h => h(App)
    }).$mount('#app')

  })

}

